package cz.boxdesign.library.entity;

import java.util.List;

public class Author implements LibraryEntity {

  private Integer id;
  private String jmeno;
  private String prijmeni;
  private List<Book> seznamKnih;

  public Author() {
  }

  public Author(Integer id, String jmeno, String prijmeni) {
    super();
    this.id = id;
    this.jmeno = jmeno;
    this.prijmeni = prijmeni;
  }

  /**
   * @return the id
   */
  public Integer getId() {
    return id;
  }

  /**
   * @param id
   *          the id to set
   */
  public void setId(Integer id) {
    this.id = id;
  }

  /**
   * @return the jmeno
   */
  public String getJmeno() {
    return jmeno;
  }

  /**
   * @param jmeno
   *          the jmeno to set
   */
  public void setJmeno(String jmeno) {
    this.jmeno = jmeno;
  }

  /**
   * @return the prijmeni
   */
  public String getPrijmeni() {
    return prijmeni;
  }

  /**
   * @param prijmeni
   *          the prijmeni to set
   */
  public void setPrijmeni(String prijmeni) {
    this.prijmeni = prijmeni;
  }


  /**
   * @return the seznamKnih
   */
  public List<Book> getSeznamKnih() {
    return seznamKnih;
  }


  /**
   * @param seznamKnih the seznamKnih to set
   */
  public void setSeznamKnih(List<Book> seznamKnih) {
    this.seznamKnih = seznamKnih;
  }

  @Override
  public boolean equals(Object obj) {
    try {
      Author testAutor = (Author) obj;
      if (testAutor.getId().equals(this.id) && testAutor.getJmeno().equals(this.jmeno) && testAutor.getPrijmeni().equals(this.prijmeni)) {
        return true;
      } else {
        return false;
      }
    } catch (ClassCastException e) {
      return false;
    }
  }

  public String getLabel() {
    return prijmeni + ", " + jmeno;
  }

}
